export type MaybeObject<T extends {}> = {
    [K in keyof T]?: unknown;
};
export const isObjectMaybe = <T extends {}>(
    u: unknown
): u is MaybeObject<T> => {
    return u !== null && typeof u === 'object';
};
export const isArrayOf = <T extends {}>(
    u: unknown,
    predicate: (u: unknown) => u is T
): u is T[] => {
    return Array.isArray(u) && u.every(predicate);
};
